package com.rockcent.mall.lib.dto;

import com.rockcent.common.domain.DtoEntity;
import com.rockcent.mall.lib.domain.enumclass.GiftPacketStatus;

import javax.persistence.Column;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * Created by zhangjh on 2016/11/7.
 */
public class MerchantGiftPacketDto extends DtoEntity {
    /** 分销礼包唯一的识别码 */
    private Long marketId;

    /** 礼包标题 */
    private String name;

    /** 广告封面 */
    private String coverUrl;

    /** 出售开始时间 */
    private Date dateEnabled;

    /** 出售结束时间 */
    private Date dateDisabled;

    /** 礼包介绍 */
    private String intro;

    /** 分享返利 */
    private BigDecimal shareFee = BigDecimal.valueOf(0);

    /** 总价 */
    private BigDecimal basePrice = BigDecimal.valueOf(0);

    /** 礼包价 */
    private BigDecimal sellPrice = BigDecimal.valueOf(0);

    /**礼包状态 S1_DRAFTED(\"草稿\"), S2_SELLING(\"已上架\"), S3_UNLOAD(\"已下架\"), S4_SOLDOUT(\"已售完\"), S5_FINISHED(\"已结束\")*/
    private GiftPacketStatus status;

    /** 是否共享营销 */
    private Boolean isRecommend = false;

    /** 商家ID */
    private Long merchantId;

    /**商家名称*/
    private String MerchantName;

    /** 商城ID */
    private Long mallId;

    /** 商家名称 */
    private String merchantName;

    /**分销佣金*/
    private BigDecimal resellFee = BigDecimal.valueOf(0);

    /**产品礼包推广二维码图片路径*/
    private String promoteUrl;

    //礼包数量
    private Long giftNum;

    private List productList;

    /**
     * 朋友价
     */
    private BigDecimal friendPrice;

    private BigDecimal shareRate;

    //用户购买时间
    private  String userBuyDate;

    public String getUserBuyDate() {
        return userBuyDate;
    }

    public void setUserBuyDate(String userBuyDate) {
        this.userBuyDate = userBuyDate;
    }

    public List getProductList() {
        return productList;
    }

    public void setProductList(List productList) {
        this.productList = productList;
    }

    public Long getGiftNum() {
        return giftNum;
    }

    public void setGiftNum(Long giftNum) {
        this.giftNum = giftNum;
    }

    public Long getMarketId() {
        return marketId;
    }

    public void setMarketId(Long marketId) {
        this.marketId = marketId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCoverUrl() {
        return coverUrl;
    }

    public void setCoverUrl(String coverUrl) {
        this.coverUrl = coverUrl;
    }

    public Date getDateEnabled() {
        return dateEnabled;
    }

    public void setDateEnabled(Date dateEnabled) {
        this.dateEnabled = dateEnabled;
    }

    public Date getDateDisabled() {
        return dateDisabled;
    }

    public void setDateDisabled(Date dateDisabled) {
        this.dateDisabled = dateDisabled;
    }

    public String getIntro() {
        return intro;
    }

    public void setIntro(String intro) {
        this.intro = intro;
    }

    public BigDecimal getShareFee() {
        return shareFee;
    }

    public void setShareFee(BigDecimal shareFee) {
        this.shareFee = shareFee;
    }

    public BigDecimal getBasePrice() {
        return basePrice;
    }

    public void setBasePrice(BigDecimal basePrice) {
        this.basePrice = basePrice;
    }

    public BigDecimal getSellPrice() {
        return sellPrice;
    }

    public void setSellPrice(BigDecimal sellPrice) {
        this.sellPrice = sellPrice;
    }

    public GiftPacketStatus getStatus() {
        return status;
    }

    public void setStatus(GiftPacketStatus status) {
        this.status = status;
    }

    public Boolean getRecommend() {
        return isRecommend;
    }

    public void setRecommend(Boolean recommend) {
        isRecommend = recommend;
    }

    public Long getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(Long merchantId) {
        this.merchantId = merchantId;
    }

    public String getMerchantName() {
        return MerchantName;
    }

    public void setMerchantName(String merchantName) {
        MerchantName = merchantName;
    }

    public BigDecimal getResellFee() {
        return resellFee;
    }

    public void setResellFee(BigDecimal resellFee) {
        this.resellFee = resellFee;
    }

    public String getPromoteUrl() {
        return promoteUrl;
    }

    public void setPromoteUrl(String promoteUrl) {
        this.promoteUrl = promoteUrl;
    }

    public Long getMallId() {
        return mallId;
    }

    public void setMallId(Long mallId) {
        this.mallId = mallId;
    }

    public BigDecimal getFriendPrice() {
        return friendPrice;
    }

    public void setFriendPrice(BigDecimal friendPrice) {
        this.friendPrice = friendPrice;
    }

    public BigDecimal getShareRate() {
        return shareRate;
    }

    public void setShareRate(BigDecimal shareRate) {
        this.shareRate = shareRate;
    }

    @Override
    public String toString() {
        return "MerchantGiftPacketDto{" +
                "id=" + id +
                ", marketId=" + marketId +
                ", createdAt=" + createdAt +
                ", updatedAt=" + updatedAt +
                ", name='" + name + '\'' +
                ", dateCreated=" + dateCreated +
                ", coverUrl='" + coverUrl + '\'' +
                ", lastUpdated=" + lastUpdated +
                ", dateEnabled=" + dateEnabled +
                ", userBuyDate=" + userBuyDate +
                ", pageNo=" + pageNo +
                ", pageSize=" + pageSize +
                ", dateDisabled=" + dateDisabled +
                ", orderBy='" + orderBy + '\'' +
                ", intro='" + intro + '\'' +
                ", xsc='" + xsc + '\'' +
                ", shareFee=" + shareFee +
                ", basePrice=" + basePrice +
                ", sellPrice=" + sellPrice +
                ", status=" + status +
                ", isRecommend=" + isRecommend +
                ", merchantId=" + merchantId +
                ", MerchantName='" + MerchantName + '\'' +
                ", mallId=" + mallId +
                ", merchantName='" + merchantName + '\'' +
                ", resellFee=" + resellFee +
                ", promoteUrl='" + promoteUrl + '\'' +
                ", giftNum=" + giftNum +
                ", productList=" + productList +
                ", friendPrice=" + friendPrice +
                ", shareRate=" + shareRate +
                '}';
    }
}
